Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
如何限制在django中捕获所有URL_Django_Django Urls - Fatal编程技术网

如何限制在django中捕获所有URL

如何限制在django中捕获所有URL,django,django-urls,Django,Django Urls,我有一个带有特定URL的django项目,由“catchall”URL设置 这样我就可以转到mysite/living,让它作为参数传递living,并从我的数据库中调出适当的细节 My URL.py: url(r'^$', views.index, name='index'), url('about/', views.about_view, name='about_view'), url('contact/', views.contact_view, name='contact_view'),

我有一个带有特定URL的django项目,由“catchall”URL设置

这样我就可以转到mysite/living,让它作为参数传递living,并从我的数据库中调出适当的细节

My URL.py:

url(r'^$', views.index, name='index'),
url('about/', views.about_view, name='about_view'),
url('contact/', views.contact_view, name='contact_view'),
url('(?P<colcat>[\w\-]+)/collection/(?P<name>[\w\-]+)$', views.collection_detail, name='collection_detail'),
url('(?P<colcat>[\w\-]+)/$', views.collection_view, name='collection_view'),
url(r'^$',views.index,name='index'),
url('about/',views.about_view,name='about_view'),
url('contact/',views.contact_view,name='contact_view'),
url(“(?P[\w\-]+)/collection/(?P[\w\-]+)$”,views.collection\u detail,name='collection\u detail'),
url(“(?P[\w\-]+)/$”,views.collection\u view,name='collection\u view'),
我遇到的问题是,任何东西都可以作为参数传递。这一点在搜索引擎中尤其明显,
mysite/index.html/index.html
返回有效页面


有没有办法限制“允许”匹配的URL?

用户在浏览时不太可能手动输入/修改URL。每个人只要在谷歌上搜索并点击搜索引擎显示的任何链接。因此,您只需要限制搜索引擎索引的内容

这可以通过将
sitemap.xml
文件添加到网站的根目录中来实现

sitemap.xml
指定网站的所有URL以及一些附加信息,以便搜索引擎更容易抓取。如果不添加
sitemap.xml
,搜索引擎会尝试在每个可能的url中爬行如果添加,则不会添加。


django已经提供了一个站点地图生成框架:

停止编写捕获所有URL?您是否担心
mysite/index.html/index.html
被搜索引擎索引?然后您可能应该使用有效的URL定义
sitemaps.py
。@bryan60不是一个真正有用的响应。按照我的方式设置url,可以让我使用一个页面和一个视图来显示多个不同的页面,这似乎更有效,而不是为了更改一个单词而多次复制同一个视图和页面。@spiritsree我希望阻止任何人通过url传递任何参数,并使其生成“有效”页面。在sitemaps.py中定义有效URL将如何解决此问题?如果这是一个解决方案,那么它可能是这个问题的一个很好的答案。你在写一篇通俗易懂的文章。编写一个url正则表达式,捕获您实际想要捕获的内容,而不是所有内容。非常简单。谢谢你,这似乎是最好的解决方案。我仍然可以考虑在将来锁定正则表达式。