我RewriteRule
内的.htaccess
太多了。
现在我想删除那些RewriteRule
并使用php加载或重定向我的链接。
为此,我使用header
但是当我使用它时,我在浏览器中的原始网址正在发生变化。
例如:
我的原始链接:http://test.com/something/someID
,当我使用标题时,它会更改为:http://test.com/page.php?id=
底线我需要像vbseo(vbulletin)之类的东西来管理我的链接而不使用RewriteRule
,但当然我在.htaccess
中有以下代码将我的所有链接重定向到某个特定页面。< / p>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php [L,QSA]
答案 0 :(得分:1)
只是不要给任何标题。默认情况下,重定向链接保持不变。 (即使服务器重定向它们,它也是转发给客户端)。因此,您需要将其传递给index.php,但使用原始路径的GET值。
因此...
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f #If requested filename is not a file
RewriteCond %{REQUEST_FILENAME} !-d #If requested filename is not a directory
RewriteRule ^(.+)$ index.php?route=$1 [L,QSA]
因此example.com/this/is/a/test
会重定向到example.com/index.php?route=this/is/a/test
,然后您可以检入index.php文件并根据$_GET['route']
重新路由{/ 1}
答案 1 :(得分:0)
如果这是你要求的话,我不完全是舒服的:
您可以使用类似Codeigniter URI类的类来获取URI的单个段:
通过给定的细分,你现在可以在你的应用程序中做什么,而无需将其硬编码到.htaccess中