因此,我想做一些简单的事情,只想更改网址,例如:
website.com/user?slug=usernameexample
到website.com/user/usernameexample
和我用下面的代码:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?user/([^/d]+)/?$ user.php?slug=$1 [L,QSA]
似乎很简单,但令我惊讶的是,这是一场噩梦,因为在URL website.com/user/usernameexample中,css / js之类的所有文件以及其他文件都将无法工作,因为它们会尝试在“用户”目录中打开,而还不是全部。此外,所有链接和文件都将尝试相同,因此例如login.php
还将尝试在不存在的“用户”文件夹中打开...
在阅读了许多stackoverflow答案之后,似乎最常见的答案是“绝对路径”或“ <base href="http://www.example.com/" />
... ” 。但是,“ base href”答案并不能真正正常地工作,因为这带来了其他问题...因此,似乎“绝对路径”是唯一可行的答案?
我想知道是否还有另一种解决方案...我确实尝试了一些小的htaccess更改,但它们对我没有帮助...
是的,绝对路径是唯一可行的答案。