Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess htaccess和翻页成/(whatthepageis)_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess htaccess和翻页成/(whatthepageis)

.htaccess htaccess和翻页成/(whatthepageis),.htaccess,mod-rewrite,.htaccess,Mod Rewrite,好的,我想知道正确的方法是什么。htaccess这样的url 看起来像这样 它仍然需要加载index.php 但我不知道怎么做,我知道听起来很简单 此外,我需要它不影响图像或样式表,已经是 曾经的文件夹链接)使 http://www.mysite.com/?page=spinme 像 http://www.mysite.com/spinme 首先,您需要使该URI的每个输出 http://www.mysite.com/spinme 这一步非常重要(至少对于显示器而言,就工作而言,您可以

好的,我想知道正确的方法是什么。htaccess这样的url

看起来像这样

它仍然需要加载index.php

但我不知道怎么做,我知道听起来很简单

此外,我需要它不影响图像或样式表,已经是

曾经的文件夹链接)

使

http://www.mysite.com/?page=spinme

http://www.mysite.com/spinme
首先,您需要使该URI的每个输出

http://www.mysite.com/spinme
这一步非常重要(至少对于显示器而言,就工作而言,您可以跳过这一步,您的站点将正常工作)

如果您已经做到了这一点,请在
.htaccess
文件中添加一条规则:

RewriteRule ^spinme$ index.php?page=spinme [L]
你完成了

如果您关心搜索引擎优化(SEO),您应该使用以下URI:

http://www.mysite.com/?page=spinme
它将向搜索引擎显示您的站点有页面,并且它们有名称。这是搜索引擎现在处理的额外信息,与早期的关键字相当


希望这有帮助。

为什么
QSA
?为什么要检查文件或目录?我总是附加查询字符串,这会打开一个选项来获取未通过路由器/前端控制器传递的变量,如果你不检查它不是文件/文件夹,那么对样式表或文件夹的请求将只传递给mod rewrite。谢谢,这就是我要找的,我只是想知道我是否可以添加更多的变量,比如&location=or&search@RussellHarrower:这就是
QSA
的作用,只需输入:
http://www.mysite.com/spinme?location=paris&search=fromage
yes使用
QSA
可以传递参数,如
/spinme?location=bla
,或者可以使用
/spinme/bla
然后使用
/
作为分隔符处理拆分。您为什么要检查文件或目录?为什么你要检查任何字符串,而不仅仅是要求的字符串?这就是OP要求的:“我也需要它,不要影响已经存在的图像或样式表…”。他还说了“一个类似url的”,所以我想他也会使用其他url;这是一个非常常见的解决方案,“像这样的url”意味着一个url。这个问题没有复数形式。如果您检查特定的URL,则无需为目录和文件检查强调文件系统。该具体URL将由规则检查,而不是由文件系统检查。其他每个文件和目录都会像以前一样工作,无需将服务器的工作增加三倍。我会将“像这样的url”读为“类似于此的url”,我想这只是一种方言
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L]
RewriteEngine On

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f //not to effect images or style sheets
RewriteCond %{REQUEST_FILENAME} !-d //not to effect directory's
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]