.htaccess 为什么重写引擎规则不起作用?
我试图理解如何使用.htaccess文件重写URL 到目前为止,我发现最容易消化的信息是,我正试图使它适应我自己的需要,但迄今为止没有成功 我有这个网址:.htaccess 为什么重写引擎规则不起作用?,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我试图理解如何使用.htaccess文件重写URL 到目前为止,我发现最容易消化的信息是,我正试图使它适应我自己的需要,但迄今为止没有成功 我有这个网址: http://www.example.com/contenido.php?id=19 我现在想把它变成: http://www.example.com/contenido/19 我已尝试使用.htaccess文件: Options +FollowSymlinks RewriteEngine on RewriteRule ^contenid
http://www.example.com/contenido.php?id=19
我现在想把它变成:
http://www.example.com/contenido/19
我已尝试使用.htaccess文件:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^contenido/([0-9]+) http://www.example.com/contenido.php?id=$1 [NC]
当我尝试清除url时,会出现“未找到服务器”错误
如有任何见解,将不胜感激
请注意,RewriteEngine
在我的Apache服务器中处于启用状态。在获得了一些帮助后,我找到了一个解决方案
以防万一,我会把它贴在这里:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^contenido/(\d+)*$ ./contenido.php?id=$1
在重写目录的所有内容时,无需测试页面是否存在 您可以使用:
Options +FollowSymLinks
RewriteEngine On
# To externally redirect contenido.php?id=nnn to contenido/nnn
RewriteCond %{THE_REQUEST} \s/+contenido\.php\?id=([^\s&]+) [NC]
RewriteRule ^ /contenido/%1 [R=301,L,NE]
# To internally rewrite contenido/nnn to contenido.php?id=nnn
RewriteRule ^contenido/(\d+/?)?$ contenido.php?id=$1 [NC,L]