在XAMPP中使用.htaccess local重写URL
我的.htacces以开头在XAMPP中使用.htaccess local重写URL,.htaccess,mod-rewrite,url-rewriting,xampp,.htaccess,Mod Rewrite,Url Rewriting,Xampp,我的.htacces以开头 RewriteEngine on RewriteBase / (我也试过了,但没有重写基础…) 我尝试了以下所有重写规则来重写URL index.php?page=news 到 /blog 重写规则^/?([-A-Za-z0-9]+)/([-A-Za-z0-9]+)/blog$ php?页面=$1[L] 重写规则^([^/]*)/blog$/sites/blog/index.php?页面=$1[L] 重写规则([a-zA-z]+)/([a-zA-z]+
RewriteEngine on
RewriteBase /
(我也试过了,但没有重写基础…)
我尝试了以下所有重写规则来重写URL
index.php?page=news
到
/blog
- 重写规则^/?([-A-Za-z0-9]+)/([-A-Za-z0-9]+)/blog$ php?页面=$1[L]
- 重写规则^([^/]*)/blog$/sites/blog/index.php?页面=$1[L]
- 重写规则([a-zA-z]+)/([a-zA-z]+)/blog$index.php?页面=$1[L]
我迷路了。希望您能帮助我。首先,将您的.htaccess和其他文件(整个项目)上传到某个工作正常的托管服务器。检查一下,你的重写是否正常。如果这是.htaccess或XAMPP本身的问题,这会让您知道。在XAMPP下,我在本地使用.htaccess时遇到了许多奇怪的问题,这些问题在文件上传到Internet主机后神奇地消失了 例如,我没有在本地使用.htaccess进行工作自动化,因为在我提供正确的登录名和密码之后,我看到的错误消息与您提到的完全相同。就我而言,我非常确定这个问题纯粹与XAMPP对.htaccess的错误解释有关(因为在生产服务器上一切都像一个符咒),而不是与.htaccess内容中的一些错误有关 我浪费了(太)多的时间去寻找解决方案,然后就离开了。现在,如果我在本地开发,我会将“.htaccess”重命名为“htaccess”,因此XAMPP(Apache on-board of it)会忽略它,并且只有在将文件解压缩到生产服务器时才重新启用它。这种方法可能并不专业,但它为我节省了很多时间和压力!:] 另一方面,如果您的主机也出现同样的故障症状,那么您就会知道,这不是XAMPP发布的问题,您的语法有问题
查看StackOverflow.com上报告的一个类似问题,其中(我认为)原因与您的问题相同。首先,将您的.htaccess和其他文件(整个项目)上载到某个工作正常的托管服务器。检查一下,你的重写是否正常。如果这是.htaccess或XAMPP本身的问题,这会让您知道。在XAMPP下,我在本地使用.htaccess时遇到了许多奇怪的问题,这些问题在文件上传到Internet主机后神奇地消失了 例如,我没有在本地使用.htaccess进行工作自动化,因为在我提供正确的登录名和密码之后,我看到的错误消息与您提到的完全相同。就我而言,我非常确定这个问题纯粹与XAMPP对.htaccess的错误解释有关(因为在生产服务器上一切都像一个符咒),而不是与.htaccess内容中的一些错误有关 我浪费了(太)多的时间去寻找解决方案,然后就离开了。现在,如果我在本地开发,我会将“.htaccess”重命名为“htaccess”,因此XAMPP(Apache on-board of it)会忽略它,并且只有在将文件解压缩到生产服务器时才重新启用它。这种方法可能并不专业,但它为我节省了很多时间和压力!:] 另一方面,如果您的主机也出现同样的故障症状,那么您就会知道,这不是XAMPP发布的问题,您的语法有问题
查看StackOverflow.com上报告的类似问题,其中(我认为)原因与您的问题相同。对于您的第一个问题,请尝试以下方法:
RewriteEngine on
RewriteRule ^/blog$ /index.php?page=news
对于第一个问题,请尝试以下方法:
RewriteEngine on
RewriteRule ^/blog$ /index.php?page=news
以下是从
http://www.domain.tld/index.php?page=blog
至http://www.domain.tld/blog
是:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^\w+$ index.php?page=$0 [L]
RewriteCond %{THE_REQUEST} index\.php
RewriteCond %{QUERY_STRING} ^page=(\w+)$
RewriteRule ^index\.php$ /%1? [R=301,L]
对于以下链接:http://www.domain.tld/index.php?page=single_news&id=1&headline=This%20Is%20A%Headline
解决办法是:
RewriteRule ^blog/(\d+)-([\w-]+)$ index.php?page=single_news&id=$1&headline=$2
使用此代码后,链接如下所示:
http://www.domain.tld/blog/2-this-is-a-headline
以下是更改http://www.domain.tld/index.php?page=blog
至http://www.domain.tld/blog
是:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^\w+$ index.php?page=$0 [L]
RewriteCond %{THE_REQUEST} index\.php
RewriteCond %{QUERY_STRING} ^page=(\w+)$
RewriteRule ^index\.php$ /%1? [R=301,L]
对于以下链接:http://www.domain.tld/index.php?page=single_news&id=1&headline=This%20Is%20A%Headline
解决办法是:
RewriteRule ^blog/(\d+)-([\w-]+)$ index.php?page=single_news&id=$1&headline=$2
使用此代码后,链接如下所示:http://www.domain.tld/blog/2-this-is-a-headline